Methods and devices for adding new member to group through barcode scanning

ABSTRACT

The current invention discloses methods and devices for adding a new member to a group, e.g. a chat group associated with a chat program. The new member may be added through a barcode-scanning process or an existing-member-invitation process. After the new member is added to the chat group, a server may send notification messages to mobile devices associated with the existing members of the group. The contents of the notification messages may vary based on the processes by which the new member is added, the number of existing members, and the direct-contact relationships the new member has with the existing members. The current invention provides simplified methods and devices for adding the new member, avoiding cumbersome operations and protecting member privacy at the same time.

RELATED APPLICATIONS

This application is a continuation application of PCT Patent ApplicationNo. PCT/CN2013/085365, entitled “Methods and Devices for Adding NewMember to Group Through Barcode Scanning” filed on Oct. 17, 2013, whichclaims priority to Chinese Patent Application No. 201210516896.X,“Methods and Devices for Adding New Member to Group Through BarcodeScanning,” filed on Dec. 5, 2012, both of which are hereby incorporatedby reference in their entirety.

FIELD OF THE INVENTION

The present invention relates to the instant messaging field, especiallyinvolving methods and devices for joining the group through a barcode.

BACKGROUND OF THE INVENTION

The chat group technology and its functions have become the foundationsfor a number of instant messaging chat programs. Presently, for a newmember to join a group, the following method is used: the group hostmember or administrator establishes a group and distributes the groupnumber associated with the group to users who find the group; the usersapply for joining the group using the group number; then the group hostmember or administrator verifies and determines whether the applicant isapproved using access control verifications. However, the method ofjoining the group using the group number involves cumbersome operationsand complex processes. Moreover, in the mobile internet era, a largenumber of users conduct operations through mobile terminals, which makesit more inconvenient to search for the group number and apply forjoining the group.

Accordingly, it is necessary and desirable to provide a new technology,so as to resolve the technical problem and improve the above-mentionedmethod to add a new member to a group, reducing the complexity ofoperation and making the process more convenient for mobile terminalusers.

SUMMARY

The above deficiencies and other problems associated with adding amember to a group are reduced or eliminated by the invention disclosedbelow. In some embodiments, the invention is implemented in a computersystem that has one or more processors, memory and one or more modules,programs or sets of instructions stored in the memory for performingmultiple functions. Instructions for performing these functions may beincluded in a computer program product configured for execution by oneor more processors.

One aspect of the invention involves a computer-implemented methodperformed by a server. The server receives a joining request to add anew member to the chat group, wherein the joining request is sent by afirst mobile device associated with the new member using abarcode-scanning process or by a second mobile device associated with afirst existing member using an existing-member-invitation process. Thebarcode-scanning process may comprise: scanning a barcode encoding chatgroup information corresponding to the chat group using the first mobiledevice; decoding the barcode using a barcode decoding module to obtainthe chat group information corresponding to the chat group; andgenerating the joining request based on the chat group information. Theexisting-member-invitation process may comprise: sending an invitationto the new member to join the chat group using the second mobile device,wherein the new member has a direct-contact relationship with the firstexisting member; and generating the joining request based on theinvitation. Then, the server may add the new member to the chat groupwithout further authorization from the existing members of the chatgroup. Moreover, based on whether the new member is added to the chatgroup through the barcode-scanning process or theexisting-member-invitation process, the server may send correspondingnotification messages to the existing members of the chat group.

Another aspect of the invention involves a computer system. The computersystem comprises a server and one or more mobile devices, the serverhaving: one of more processors; memory; and one or more program modulesstored in the memory and configured for execution by the one or moreprocessors, the one or more program modules including: a receivingmodule configured to receive a joining request to add a new member to achat group having one or more existing members, wherein the joiningrequest is sent by a first mobile device associated with the new memberusing a barcode-scanning process or by a second mobile device associatedwith a first existing member using an existing-member-invitationprocess, wherein: the barcode-scanning process comprises: scanning abarcode encoding chat group information corresponding to the chat groupusing the first mobile device; decoding the barcode using a barcodedecoding module to obtain the chat group information corresponding tothe chat group; and generating the joining request based on the chatgroup information, and the existing-member-invitation process comprises:sending an invitation to the new member to join the chat group using thesecond mobile device, wherein the new member has a direct-contactrelationship with the first existing member; and generating the joiningrequest based on the invitation, an addition module configured to addthe new member to the chat group without further authorization from theexisting members of the chat group; a determination module comprises aprocess determining subunit configured to determine whether the newmember is added to the chat group through the barcode-scanning processor the existing-member-invitation process; and a notifying moduleconfigured to send corresponding notification messages to the existingmembers of the chat group based on whether the new member is added tothe chat group through the barcode-scanning process or theexisting-member-invitation process.

Another aspect of the invention involves a non-transitory computerreadable storage medium having stored therein instructions, which, whenexecuted by a server, cause the server to: receive a joining request toadd the new member to the chat group, wherein the joining request issent by a first mobile device associated with the new member using abarcode-scanning process or by a second mobile device associated with afirst existing member using an existing-member-invitation process,wherein: the barcode-scanning process comprises: scanning a barcodeencoding chat group information corresponding to the chat group usingthe first mobile device; decoding the barcode using a barcode decodingmodule to obtain the chat group information corresponding to the chatgroup; and generating the joining request based on the chat groupinformation, and the existing-member-invitation process comprises:sending an invitation to the new member to join the chat group using thesecond mobile device, wherein the new member has a direct-contactrelationship with the first existing member; and generating the joiningrequest based on the invitation, add the new member to the chat groupwithout further authorization from the existing members of the chatgroup; and send corresponding notification messages to the existingmembers of the chat group based on whether the new member is added tothe chat group through the barcode-scanning process or theexisting-member-invitation process.

Some embodiments may be implemented on either the client side or theserver side of a client-server network environment.

BRIEF DESCRIPTION OF THE DRAWINGS

The aforementioned features and advantages of the invention as well asadditional features and advantages thereof will be more clearlyunderstood hereinafter as a result of a detailed description ofpreferred embodiments when taken in conjunction with the drawings.

FIG. 1 is a flowchart illustrative of a method for adding a new memberto a group in accordance with some embodiments of the current invention.

FIG. 2 is a detailed flowchart illustrative of the method for adding anew member to a group in accordance with some embodiments of the currentinvention.

FIG. 3 is a block diagram illustrative of a server comprising modulesconfigured to add a new member to a group in accordance with someembodiments of the current invention.

FIG. 4 is a block diagram illustrative of a server comprising modulesconfigured to add a new member to a group in accordance with someembodiments of the current invention, providing more details for thedetermination module and the notifying module.

FIG. 5 is a schematic illustration of how a server, a mobile deviceassociated with a new member, and two other mobile devices associatedwith two existing members interact to add the new member to the group inaccordance with some embodiments of the current invention.

FIG. 6 is a block diagram of a server in accordance with someembodiments of the current invention.

Like reference numerals refer to corresponding parts throughout theseveral views of the drawings.

DESCRIPTION OF EMBODIMENTS

Reference will now be made in detail to embodiments, examples of whichare illustrated in the accompanying drawings. In the following detaileddescription, numerous specific details are set forth in order to providea thorough understanding of the subject matter presented herein. But itwill be apparent to one skilled in the art that the subject matter maybe practiced without these specific details. In other instances,well-known methods, procedures, components, and circuits have not beendescribed in detail so as not to unnecessarily obscure aspects of theembodiments.

FIG. 1 is a flowchart illustrative of a method for adding a new memberto a group in accordance with some embodiments of the current invention.The new member may be associated with a mobile device and the group maybe managed with a server. The group may be a chat group and may have oneor more existing members each associated with a mobile device.

Referring to FIG. 1, Step S110 shows that the server may receiving ajoining request to add the new member to the chat group, wherein thejoining request may be sent by a first mobile device associated with thenew member using a barcode-scanning process or by a second mobile deviceassociated with a first existing member using anexisting-member-invitation process. The details of the barcode-scanningprocess and the existing-member-invitation process are described indetail in FIGS. 2 and 5.

Step S120 shows that the server may add the new member to the chat groupwithout further authorization from the existing members of the chatgroup.

Step S130 shows that the server may send corresponding notificationmessages to the existing members of the chat group based on whether thenew member is added to the chat group through the barcode-scanningprocess or the existing-member-invitation process.

FIG. 2 is a detailed flowchart illustrative of the method for adding anew member to a group in accordance with some embodiments of the currentinvention.

As indicated above, the new member may be added with thebarcode-scanning process. Referring to FIG. 2, the barcode-scanningprocess 210 may be conducted by a mobile device associated with the newmember and barcode-scanning process 210 may comprise: step 212—scanninga barcode encoding chat group information corresponding to the chatgroup using the mobile device; step 214—decoding the barcode using abarcode decoding module to obtain the chat group informationcorresponding to the chat group; and step 216—generating the joiningrequest based on the chat group information. In addition, before thebarcode is scanned, the barcode may be distributed to or shared with themobile device associated with the new member.

The mobile devices associated with the new member or the existingmembers may be any kind of mobile computing devices, such as but notlimited to smart phones, tablets, and laptop computers. It is alsodesirable that the mobile device has a camera or is equipped with ascanning device, so that the mobile device may be used to scan thebarcode corresponding to the group.

As implemented in the current invention, the barcode can be aone-dimensional barcode, a two-dimensional barcode, a three-dimensionalbarcode, a color barcode and so on, or other patterns or barcodes thatmay be converted and decoded to obtain group information such as groupnumber(s). The one-dimensional barcode, two-dimensional barcode orthree-dimensional barcode may have color or may be black and white. Thecolor barcode can be a Microsoft high capacity color barcode. Inparticular, two-dimensional barcodes are barcodes that store informationin horizontal and vertical two-dimensional spaces, and two-dimensionalbarcodes may include stacked-linear two-dimensional barcodes, matrixtwo-dimensional barcodes and postal barcodes such as intelligent mailbarcodes, PLANET barcodes, and POSTNET barcodes. The two-dimensionalbarcode may be used as an example to illustrate the current invention.

The two-dimensional barcode may encode chat group information, which mayinclude group number and a group host. The administrator or existinggroup members may share and distribute the two-dimensional barcodecorresponding to the group. In some implementations, the two-dimensionalbarcode can be shared and distributed through e-mail, social media suchas blogs, Facebook®, Micro-blog, and Twitter, image-sharing services, orother distribution channels. The specific channels for sharing anddistributing of the two-dimensional barcode may be selected according tothe users' needs. For example, in some implementations, if it isdesirable to control the distribution speed, it is probably notadvisable to distribute the two-dimensional barcode of the group withMicro-blog or other non-discriminatory tools, in order to avoidexcessive number of persons trying to join the group.

Different two-dimensional barcodes have different conversions andanalytic algorithms. In general, the two-dimensional barcodes are usedto record data symbol information by some specific geometrical patternsaccording to black-white patterns which are distributed regularly on aplane (two-dimensional direction); as for the barcode compilation, itutilizes the concepts of “0”, “1” bitstreams which form internal logicbases of a computer and uses several geometrical patterns related to thebinary system to show text and numerical information. In step 212, newmembers who intend to join the group can scan the two-dimensionalbarcode through image input equipment or photoelectric scanning device,then decode the barcode using a barcode decoding module (algorithm) toobtain the chat group information.

In some embodiments, the chat group information may include a chat groupnumber corresponding to the chat group. Using the chat group number, asshown in Step 216, the mobile device associated with the new member maygenerate a joining request and send the joining request to the server.The joining request may comprise the chat group information and newmember information corresponding to the new member. The new memberinformation may include information items such as nicknames, identifyingnumbers, and icons for the new member.

As indicated above and as an alternative to the barcode-scanningprocess, the joining request may be generated by anexisting-member-invitation process 220, which may be conducted by amobile device associated with an existing member. Referring to FIG. 2,Step 222: an existing member A may send an invitation to the new memberto join the chat group using the mobile device associated with theexisting member, wherein the new member has a direct-contactrelationship with the existing member A; Step 224: the mobile deviceassociated with the existing member A may generate the joining requestbased on the invitation.

The direct-contact relationship may be any kind of relationship thatallows the new member and the existing member to communicate directlyand privately. In some embodiments, the direct-contact relationship maybe a one-to-one contact relationship. In some embodiments, thedirect-contact relationship may be a direct-contact relationshipassociated with an instant messaging or chat program, such as but notlimited MSN®, QQ®, and WeChat®. In some programs, the direct-contactrelationship may be called “good-friend” or “buddy” relationships. Thedirect-contact relationship may be established by either the requestfrom the existing member or the new member.

Referring to FIG. 2, after the joining request is generated and sent tothe server, Step 230 shows that the server may receive the joiningrequest and Step 240 shows that the server may add the new number to thechat group. For some implementations, when the request is generated bythe barcode-scanning process or when the request is generated by theexisting-user invitation process but the existing user is not the grouphost or administrator, the joint request may be further examined by thegroup host or administrator to decide whether the request should begranted. Such an approach maintains a higher level of privacy but canput significant burden on the group host or administrator, especiallywhen there are numerous joining requests. Alternatively, the joiningrequest, once generated and received, may be automatically granted andthe addition of the new member may take place without any furtherauthorization by the existing members of the chat group. Such anapproach avoids the sometimes cumbersome procedure of administrator(group host) authorization. However, in some cases, theno-further-authorization procedure may cause concern for privacy. Thecurrent invention provides a layered notification process to addresssuch concerns.

An optional step of new member authorization may be added to the processwhen the joining request is generated by the existing-member-invitationprocess. With such a step, after the joining request is generated, therequest may be sent to the server only with the authorization of the newmember. In addition, the joining request may be sent either by thedevice associated with the existing member or by the device associatedwith the new member. The new member authorization step allows the newmember to confirm the willingness to join the group. However, this stepis optional because it may cause delay to the process.

As indicated by FIG. 1, after adding the new member to the group, theserver may send out notification messages to the existing members. Thecontents of the notification messages may vary according to specificscenarios and setups, with the emphasis of providing notice to theexisting members regarding how the new member joined the chat group.

Referring to FIG. 2, Step 250 shows that the server may inquire as towhether the new member is added by the barcode-scanning process or theexisting-member-invitation process. As shown by Step 255, if the newmember is added by the barcode-scanning process, the notifying messagesto the existing members may indicate that new member is added to thechat group through a barcode-scanning process.

Referring to FIG. 2, Steps 260, 270, 275, and 280 show that the servermay make further inquiries when the new member is added by theexisting-member-invitation process. As shown by Step 260, the server mayexamine whether the number of existing members exceeds a threshold. Forexample, if the threshold is 5 and the number of existing members is 4(or any number ≤5), then the server proceeds to Step 275; if thethreshold is 5 and the number of existing members is 6 (or anynumber >5), then the server proceeds to Step 270.

As shown by Step 275, when the number of existing members does notexceed the threshold, the notification messages to the existing membersindicate that the new member has been added to the group with invitationfrom the existing member A—the existing member that sent the invitationto the new member.

As shown by Step 270, when the number of existing members exceeds thethreshold, a further inquiry is made to ask whether the new member hasdirect-contact relationship with only the existing member A—the existingmember that sent the invitation to the new member—before the new memberis added to the chat group. As shown by Step 275, if the new member hasa direct-contact relationship with any of the existing members otherthan the existing member A before being added to the chat group, thenotification messages may indicate that the new member has been added byinvitation from the existing member A. On the other hand, as shown byStep 280, if the new member does not have a direct-contact relationshipwith the existing members other than existing member A before beingadded to the chat group, the notification messages may indicate that thenew member has been added by invitation from the existing member A andthat the new member does not have a direct-contact relationship with theother existing members.

The process shown by Steps 250, 255, 260, 270, 275, and 280 ensures thatthe existing members may get proper notice as to a new member is addedto the group and how that new member is added, protecting the privacy ofthe members and avoiding a complicated procedure. In particular, whenthe new member is added through the barcode-scanning process, theexisting members are notified accordingly—sending an implied messagethat it is possible that the new member is a stranger not known by anyof the existing members. In addition, the notification messages mayindicate that the new member is added by existing member invitation andthat the new member does not have a direct—contact relationship with theother exiting members only when two conditions are satisfied: (1) thenumber of existing members is still relatively small—the number does notexceed a threshold; and (2) the new member does not have adirect-contact relationship with the other existing members except theexisting member sending out the invitation. Such an approach also sendthe implied message that although the new member has a direct-contactrelationship with one existing member, the new member may be a strangerto the other existing members.

With proper notifications, the existing members may act accordingly. Forexample, the existing members may ask the group host or administrator tofurther examine the identity of the new member or even remove the newmember from the group; or the existing members may alter their ownbehavior during group activities to make sure that no improper orprivate matters are disclosed in the group. In such a manner, thecurrent invention provides protection to the privacy of the members.

FIG. 5 is a schematic illustration of how a server 501 associated with achat group, a first mobile device 502 associated with a new member, andtwo other mobile devices 503 and 504 associated with two existingmembers interact to add the new member to the group in accordance withsome embodiments of the current invention. In essence, FIG. 5 providesan example for the process shown in FIG. 2. It should be noted that theactions shown in FIG. 5 are only exemplary and may be altered accordingto specific setups of the group, the members, and the devices associatedwith the members. For example, the number of servers and the existingmembers may vary. In addition, there is no limitation as to how manydevices may be associated with the new member and each existing member.Similarly, there is no limitation as to how many members may beassociated a single device. In addition, the server may also be a deviceassociated with one of the members of the group.

As shown by FIG. 5, the first mobile device 502 associated the newmember N may scan a barcode in step 510 and decode the barcode in step515 to acquire chat group information, before a joining request 520 isgenerated by the first mobile device 502 and sent to the server 501.These steps correspond to the bar-code scanning process 210 in FIG. 2.

As indicated in FIG. 2, the joining request may also be generated by theexisting-member-invitation process 220. Referring to FIG. 5, the newmember N may establish a direct contact relationship with an existingmember, e.g. existing member A, through interactions of the first mobiledevice 502 associated with the new member N and the second mobile device503 associated with the existing member A. The direct contactrelationship may be established by a request-grant process: the firstmobile device 502 or the second mobile device 503 send a direct contactrequest 530 to the other, and the second mobile device 503 or the firstmobile device 502 reply with a direct contact grant 535. After thedirect contact relationship is established, the second mobile device 503may generate a joining request 540 and send the joining request 540 tothe server 501. In some embodiment, it is possible that the joiningrequest 540 is sent from the first mobile device 502 associated with thenew member N. It should also be noted that preferably the joiningrequests 520 and joining request 540 are generated by alternativeprocesses, not sequential events.

After the server 501 receives the joining requests 520 or 540, theserver 501 adds the new member N to the chat group in step 550,preferably without further authorization from the existing members ofthe chat group. Optionally, the server 501 may send a notificationmessage 555 to the first mobile device 502 associated with the newmember. The contents of the notification message 555 may be the same ordifferent as the notification messages 580 and 585 sent to the existingmembers of the chat group.

The server 501 may examine the number of existing members in step 560.Steps 550 and 560 may or may not involve devices other than the server501. To perform steps 550 and 560, the server may edit or examineinformation or tables associated with the chat group, wherein theinformation or tables may be stored in a database that can be accessedby the server 501.

As shown in steps 570 and 575, the server 501 may also examine thedirect-contact relationships maintained by the existing members of thechat group: existing member A and existing member B. The examination mayor may not involve the second or third mobile devices 503 and 504. Insome embodiments, the server 501 may have complete lists of the existingmembers' direct contacts stored on the server 501. In such cases, thereis no need for the server to access the second and third mobile devices503 and 504. In some embodiments, the server 501 may need to access thecontact lists on the second and third mobile devices 503 and 504 toexamine the direct contact relationships.

The server 501 may send notification messages 580 and 585 to the mobiledevices 503 and 504 associated with the existing member A and existingmember B, respectively. The notification messages 580 and 585 may be thesame or different.

As indicated above, if the new member is added by the barcode-scanningprocess, the notification messages 580 and 585 may indicate that the newmember has been added by scanning the barcode. If the new member N isadded by the existing-member-invitation process, and if the number ofexisting members does not exceed the threshold, the notificationmessages 580 and 585 may indicate that the new member N has been addedby invitation from the existing member A. Similarly, if (1) the newmember N is added by the existing-member-invitation process, (2) thenumber of existing members exceeds the threshold, and (3) the new memberN has a direct-contact relationship with any of the existing membersother than the existing member A before being added to the chat group,the notification messages 580 and 585 may indicate that the new memberhas been added by invitation from the existing member A. On the otherhand, if (1) the new member N is added by the existing-member-invitationprocess, (2) the number of existing members exceeds the threshold, and(3) the new member N does not have a direct-contact relationship withthe existing members other than the existing member A before being addedto the chat group, the notification messages 580 and 585 may indicatethat the new member has been added by invitation from the existingmember A and that the new member N does not have a direct-contactrelationship with the other existing members.

FIGS. 3-4 and 6 illustrate the computer systems that may be used toperform the methods described above. To avoid redundancy, not all thedetails and variations described for the method are herein included forthe devices. Such details and variations should be considered includedfor the description of the devices as long as they are not in directcontradiction to the specific description provided for the methods.

FIG. 3 is a block diagram illustrative of a server comprising modulesconfigured to add a new member to a group in accordance with someembodiments of the current invention. The server may have one of moreprocessors; memory; and one or more programs modules stored in thememory and configured for execution by the one or more processors, theone or more program modules including: a receiving module 310 configuredto receive a joining request to add a new member to a chat group havingone or more existing members, wherein the joining request is sent by afirst mobile device associated with the new member using abarcode-scanning process or by a second mobile device associated with afirst existing member using an existing-member-invitation process; anaddition module 320 configured to add the new member to the chat groupwithout further authorization from the existing members of the chatgroup; a determination module 330 configured to determine whether thenew member is added to the chat group through the barcode-scanningprocess or the existing-member-invitation process; and a notifyingmodule 340 configured to send corresponding notification messages to theexisting members of the chat group based on whether the new member isadded to the chat group through the barcode-scanning process or theexisting-member-invitation process, wherein: the barcode-scanningprocess comprises: scanning a barcode encoding chat group informationcorresponding to the chat group using the first mobile device; decodingthe barcode using a barcode decoding module to obtain the chat groupinformation corresponding to the chat group; and generating the joiningrequest based on the chat group information, and theexisting-member-invitation process comprises: sending an invitation tothe new member to join the chat group using the second mobile device,wherein the new member has a direct-contact relationship with the firstexisting member; and generating the joining request based on theinvitation.

FIG. 4 is a block diagram illustrative of a server comprising modulesconfigured to add a new member to a group in accordance with someembodiments of the current invention, providing more details for thedetermination module 330 and the notifying module 340.

Similar to FIG. 3, FIG. 4 shows the receiving module 310 and theaddition module 320. In addition, FIG. 4 also shows a more detailedstructure of the determination module 330, which comprises: a processdetermining subunit 410 configured to determine whether the new memberis added to the chat group through the barcode-scanning process or theexisting-member-invitation process; a member number subunit 420configured to examine whether the number of existing members exceeds athreshold if the new member is added by the existing-member-invitationprocess; and a direct contact subunit 430 configured to examine whetherthe new member has a direct-contact relationship with the existingmembers other than the first existing member before being added to thechat group if the number of existing members exceeds the threshold.

FIG. 4 also shows more detailed structures of the notifying module 340,which comprises: a first notifying subunit 440 configured to sendnotification messages indicating that the new member has been added byscanning the barcode if the new member is added by the barcode-scanningprocess; a second notifying subunit 450 configured to send notificationmessages indicating that the new member has been added by invitationfrom the first existing member if the number of existing members doesnot exceed the threshold; and a third notifying subunit 460 configuredto send notification messages indicating that the new member has beenadded by invitation from the first existing member and that the newmember does not have a direct-contact relationship with the otherexisting members if the new member does not have a direct-contactrelationship with the existing members other than the first existingmember before being added to the chat group. In addition, the secondnotifying subunit 450 is further configured to send notificationmessages indicating that the new member has been added by invitationfrom the first existing member if the new member has a direct-contactrelationship with any of the existing members other than the firstexisting member before being added to the chat group

FIG. 6 is a block diagram of a server 501 in accordance with someembodiments of the current invention. The exemplary server 501 typicallyincludes one or more processing units (CPU's) 602, one or more networkor other communications interfaces 604, memory 610, and one or morecommunication buses 609 for interconnecting these components. Thecommunication buses 609 may include circuitry (sometimes called achipset) that interconnects and controls communications between systemcomponents. The server 501 may include a user interface 605, forinstance, a display 606 and a keyboard 608. When the server 501 is asmart phone or tablet, the user interface 605 may be a touch screen,which is both a display and an input device. Memory 610 may include highspeed random access memory and may also include non-volatile memory,such as one or more magnetic disk storage devices. Memory 610 mayinclude mass storage that is remotely located from the CPU's 602. Insome embodiments, memory 610 stores the following programs, modules anddata structures, or a subset or superset thereof:

-   -   an operating system 612 that includes procedures for handling        various basic system services and for performing hardware        dependent tasks;    -   a network communication module 614 that is used for connecting        the server 610 to the synchronizing server, the participating        servers, and/or other computers via one or more communication        networks (wired or wireless), such as the Internet, other wide        area networks, local area networks, metropolitan area networks,        and so on;    -   a user interface module 616 configured to receive user inputs        through the user interface 605;    -   and a number of server-side application modules 618 including        the following:    -   a receiving module 310 configured to receive a joining request        to add a new member to a chat group having one or more existing        members, wherein the joining request is sent by a first mobile        device associated with the new member using a barcode-scanning        process or by a second mobile device associated with a first        existing member using an existing-member-invitation process;    -   an addition module 320 configured to add the new member to the        chat group without further authorization from the existing        members of the chat group;    -   a determination module 330 configured to determine whether the        new member is added to the chat group through the        barcode-scanning process or the existing-member-invitation        process;    -   and a notifying module 340 configured to send corresponding        notification messages to the existing members of the chat group        based on whether the new member is added to the chat group        through the barcode-scanning process or the        existing-member-invitation process.

As indicated above, the barcode-scanning process may comprise: scanninga barcode encoding chat group information corresponding to the chatgroup using the first mobile device; decoding the barcode using abarcode decoding module to obtain the chat group informationcorresponding to the chat group; and generating the joining requestbased on the chat group information, and the existing-member-invitationprocess may comprise: sending an invitation to the new member to jointhe chat group using the second mobile device, wherein the new memberhas a direct-contact relationship with the first existing member; andgenerating the joining request based on the invitation.

While particular embodiments are described above, it will be understoodit is not intended to limit the invention to these particularembodiments. On the contrary, the invention includes alternatives,modifications and equivalents that are within the spirit and scope ofthe appended claims. Numerous specific details are set forth in order toprovide a thorough understanding of the subject matter presented herein.But it will be apparent to one of ordinary skill in the art that thesubject matter may be practiced without these specific details. In otherinstances, well-known methods, procedures, components, and circuits havenot been described in detail so as not to unnecessarily obscure aspectsof the embodiments.

The terminology used in the description of the invention herein is forthe purpose of describing particular embodiments only and is notintended to be limiting of the invention. As used in the description ofthe invention and the appended claims, the singular forms “a,” “an,” and“the” are intended to include the plural forms as well, unless thecontext clearly indicates otherwise. It will also be understood that theterm “and/or” as used herein refers to and encompasses any and allpossible combinations of one or more of the associated listed items. Itwill be further understood that the terms “includes,” “including,”“comprises,” and/or “comprising,” when used in this specification,specify the presence of stated features, operations, elements, and/orcomponents, but do not preclude the presence or addition of one or moreother features, operations, elements, components, and/or groups thereof.

As used herein, the term “if” may be construed to mean “when” or “upon”or “in response to determining” or “in accordance with a determination”or “in response to detecting,” that a stated condition precedent istrue, depending on the context. Similarly, the phrase “if it isdetermined [that a stated condition precedent is true]” or “if [a statedcondition precedent is true]” or “when [a stated condition precedent istrue]” may be construed to mean “upon determining” or “in response todetermining” or “in accordance with a determination” or “upon detecting”or “in response to detecting” that the stated condition precedent istrue, depending on the context.

Although some of the various drawings illustrate a number of logicalstages in a particular order, stages that are not order dependent may bereordered and other stages may be combined or broken out. While somereordering or other groupings are specifically mentioned, others will beobvious to those of ordinary skill in the art and so do not present anexhaustive list of alternatives. Moreover, it should be recognized thatthe stages could be implemented in hardware, firmware, software or anycombination thereof.

The foregoing description, for purpose of explanation, has beendescribed with reference to specific embodiments. However, theillustrative discussions above are not intended to be exhaustive or tolimit the invention to the precise forms disclosed. Many modificationsand variations are possible in view of the above teachings. Theembodiments were chosen and described in order to best explain theprinciples of the invention and its practical applications, to therebyenable others skilled in the art to best utilize the invention andvarious embodiments with various modifications as are suited to theparticular use contemplated.

What is claimed is:
 1. A method for adding a new member to an instantmessaging chat group, the method comprising: at a server system havingone or more processors and memory storing programs executed by the oneor more processors: receiving a joining request to add a new member toan instant messaging chat group having a plurality of currently existingmembers, including a first existing member, wherein the joining requestis received from a mobile device associated with the first existingmember using an existing-member-invitation process, wherein theexisting-member-invitation process comprises: (i) sending an invitationto a mobile device associated with the new member to join the instantmessaging chat group using the mobile device, wherein the new member hasa direct-contact relationship with the first existing member; and (ii)generating the joining request based on the invitation; determiningwhether a quantity of currently existing members in the plurality ofcurrently existing members of the instant messaging chat group exceeds athreshold; in accordance with a determination that the quantity ofcurrently existing members of the instant messaging chat group does notexceed the threshold, adding the new member to the instant messagingchat group and sending a notification message to the mobile deviceassociated with the new member without receiving further authorizationfrom the plurality of currently existing members of the instantmessaging chat group; and in accordance with a determination that thequantity of currently existing members exceeds the threshold:determining whether the new member has a direct-contact relationshipwith any existing members of the plurality of currently existing membersother than the first existing member; and in response to determiningthat the new member does not have a direct-contact relationship with anyexisting members of the plurality of currently existing members otherthan the first existing member, and without receiving any requests fromthe plurality of currently existing members, sending correspondingnotification messages to each of the plurality of currently existingmembers of the instant messaging chat group, wherein each notificationmessage includes: (i) information identifying the first existing memberwho sent the invitation to the new member to join the instant messagingchat group; (ii) information indicating that the new member does nothave a direct-contact relationship with any existing members of theplurality of currently existing members other than the first existingmember; and (iii) information that the new member was added to theinstant messaging chat group by invitation, and sending a notificationmessage to the mobile device associated with the new member.
 2. Themethod of claim 1, wherein: the direct-contact relationship is adirect-contact relationship associated with a chat program.
 3. A serversystem for adding a new member to an instant messaging chat group, theserver system comprising: one of more processors; memory storing one ormore programs configured for execution by the one or more processors,the one or more programs including instructions for: receiving a joiningrequest to add a new member to an instant messaging chat group having aplurality of currently existing members, including a first existingmember, wherein the joining request is received from a mobile deviceassociated with a first existing member of the currently existingmembers using an existing-member-invitation process, wherein theexisting-member-invitation process comprises: (i) sending an invitationto a mobile device associated with the new member to join the instantmessaging chat group using the second mobile device, wherein the newmember has a direct-contact relationship with the first existing member;and (ii) generating the joining request based on the invitation;determining whether a quantity of currently existing members in theplurality of currently existing members of the instant messaging chatgroup exceeds a threshold; in accordance with a determination that thequantity of currently existing members of the instant messaging chatgroup does not exceed the threshold, adding the new member to theinstant messaging chat group and sending a notification message to themobile device associated with the new member without receiving furtherauthorization from the plurality of currently existing members of theinstant messaging chat group; and in accordance with a determinationthat the quantity of currently existing members exceeds the threshold:determining whether the new member has a direct-contact relationshipwith any existing members of the plurality of currently existing membersother than the first existing member; and in response to determiningthat the new member does not have a direct-contact relationship with anyexisting members of the plurality of currently existing members otherthan the first existing member, and without receiving any requests fromthe plurality of currently existing members, sending correspondingnotification messages to each of the plurality of currently existingmembers of the instant messaging chat group, wherein each notificationmessage includes: (i) information identifying the first existing memberwho sent the invitation to the new member to join the instant messagingchat group; (ii) information indicating that the new member does nothave a direct-contact relationship with any existing members of theplurality of currently existing members other than the first existingmember; and (iii) information that the new member was added to theinstant messaging chat group by invitation, and sending a notificationmessage to the mobile device associated with the new member.
 4. Anon-transitory computer readable storage medium storing instructions foradding a new member to an instant messaging chat group, which, whenexecuted by a server system, cause the server system to: receive ajoining request to add a new member to an instant messaging chat grouphaving a plurality of currently existing members, including a firstexisting member, wherein the joining request is received from a mobiledevice associated with the first existing member using anexisting-member-invitation process, wherein theexisting-member-invitation process comprises: (i) sending an invitationto the new member to join the instant messaging chat group using themobile device, wherein the new member has a direct-contact relationshipwith the first existing member; and (ii) generating the joining requestbased on the invitation; determine whether a quantity of currentlyexisting members in the plurality of currently existing members of theinstant messaging chat group exceeds a threshold; in accordance with adetermination that the quantity of currently existing members of theinstant messaging chat group does not exceed the threshold, add the newmember to the instant messaging chat group and send a notificationmessage to the mobile device associated with the new member withoutreceiving further authorization from the plurality of currently existingmembers of the instant messaging chat group; and in accordance with adetermination that the quantity of currently existing members exceedsthe threshold: determine whether the new member has a direct-contactrelationship with any existing members of the plurality of currentlyexisting members other than the first existing member; and in responseto determining that the new member does not have a direct-contactrelationship with any existing members of the plurality of currentlyexisting members other than the first existing member, and withoutreceiving any requests from the plurality of currently existing members,send corresponding notification messages to each of the plurality ofcurrently existing members of the instant messaging chat group, whereineach notification message includes: (i) information identifying thefirst existing member who sent the invitation to the new member to jointhe instant messaging chat group; (ii) information indicating that thenew member does not have a direct-contact relationship with any existingmembers of the plurality of currently existing members other than thefirst existing member; and (iii) information that the new member wasadded to the instant messaging chat group by invitation, and send anotification message to the mobile device associated with the newmember.
 5. The method of claim 1, further comprising: in response todetermining that the new member has a direct-contact relationship withat least one existing member of the plurality of currently existingmembers other than the first existing member, sending correspondingnotification messages to each of the plurality of currently existingmembers of the instant messaging chat group, wherein each notificationmessage includes: (i) information identifying the first existing memberwho sent the invitation to the new member to join the instant messagingchat group; (ii) information identifying the at least one existingmember that has the direct-contact relationship with the new member; and(iii) information that the new member was added to the instant messagingchat group by invitation.
 6. The server system of claim 3, wherein theone or more programs further include instructions for: in response todetermining that the new member has a direct-contact relationship withat least one existing member of the plurality of currently existingmembers other than the first existing member, sending correspondingnotification messages to each of the plurality of currently existingmembers of the instant messaging chat group, wherein each notificationmessage includes: (i) information identifying the first existing memberwho sent the invitation to the new member to join the instant messagingchat group; (ii) information identifying the at least one existingmember that has the direct-contact relationship with the new member; and(iii) information that the new member was added to the instant messagingchat group by invitation.
 7. The non-transitory computer readablestorage medium of claim 4, wherein the non-transitory computer readablestorage medium further stores instructions, which, when executed by theserver system, cause the server system to: in response to determiningthat the new member has a direct-contact relationship with at least oneexisting member of the plurality of currently existing members otherthan the first existing member, send corresponding notification messagesto each of the plurality of currently existing members of the instantmessaging chat group, wherein each notification message includes: (i)information identifying the first existing member who sent theinvitation to the new member to join the instant messaging chat group;(ii) information identifying the at least one existing member that hasthe direct-contact relationship with the new member; and (iii)information that the new member was added to the instant messaging chatgroup by invitation.